package com.zapi.notification.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 消息实体类
 */
@Data
@TableName("sys_message")
public class Message {

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 消息标题
     */
    private String title;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 消息类型（SYSTEM-系统消息，USER-用户消息，NOTICE-通知消息）
     */
    private String messageType;

    /**
     * 消息级别（INFO-信息，WARNING-警告，ERROR-错误，SUCCESS-成功）
     */
    private String messageLevel;

    /**
     * 发送者ID
     */
    private Long senderId;

    /**
     * 发送者名称
     */
    private String senderName;

    /**
     * 接收者ID
     */
    private Long receiverId;

    /**
     * 接收者名称
     */
    private String receiverName;

    /**
     * 消息状态（0-未读，1-已读，2-已删除）
     */
    private Integer status;

    /**
     * 阅读时间
     */
    private LocalDateTime readTime;

    /**
     * 消息链接
     */
    private String messageUrl;

    /**
     * 消息图标
     */
    private String messageIcon;

    /**
     * 消息标签
     */
    private String messageTag;

    /**
     * 过期时间
     */
    private LocalDateTime expireTime;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 逻辑删除标识
     */
    @TableLogic
    private Integer deleted;
} 